/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.edu.senaclem.persistencia;

import co.edu.senaclem.modelo.SeguimientoAprendiz;
import static co.edu.senaclem.persistencia.Persistencia.areadb;
import static co.edu.senaclem.persistencia.Persistencia.con;
import static co.edu.senaclem.persistencia.Persistencia.conectar;
import static co.edu.senaclem.persistencia.Persistencia.desconectar;
import java.sql.ResultSet;
import javax.ejb.Stateless;

/**
 *
 * @author DILOVE
 */
@Stateless
public class SeguimientoAprendizDAO implements ISeguimientoAprendizDAO {

    IAprendizDAO aprendizDAO = new AprendizDAO();
    INovedadDAO novedadDAO = new NovedadDAO();
    ISeguimientoDAO seguimientoDAO = new SeguimientoDAO();
    public static ResultSet resSet = null;
    
    @Override
    public void registrar(SeguimientoAprendiz seguimientoAprendiz) throws Exception {
        try {
            if (conectar()) {
                String consulta = "insert into seguimientoaprendiz values("+seguimientoAprendiz.getDocumentoaprendiz().getDocumento().getDocumento()+"," + seguimientoAprendiz.getNumeroseguimiento().getCodigoseguimiento()+ ",'" + seguimientoAprendiz.getRendimientoseguimiento() + "','" + seguimientoAprendiz.getEstrategiaseguimiento() + "'," + seguimientoAprendiz.getNumeronovedad().getNumeronovedad() + ")";
                System.out.println("consulta "+consulta);
                areadb = con.createStatement();
                areadb.execute(consulta);
                desconectar();
            }
        } catch (RuntimeException e) {
            throw e;
        }
    }

    @Override
    public void modificar(SeguimientoAprendiz seguimientoAprendiz) throws Exception {
        try {
            if (conectar()) {
                String consulta = "update seguimientoaprendiz set rendimientoseguimiento='" + seguimientoAprendiz.getRendimientoseguimiento() + "', estrategiaseguimiento='" + seguimientoAprendiz.getEstrategiaseguimiento() + "', numeronovedad=" + seguimientoAprendiz.getNumeronovedad().getNumeronovedad() + " where documentoaprendiz=" + seguimientoAprendiz.getDocumentoaprendiz().getDocumento().getDocumento() + " and numeroseguimiento="+seguimientoAprendiz.getNumeroseguimiento().getCodigoseguimiento()+";";
                System.out.println("Update de seguimientoAprendiz "+consulta);
                areadb = con.createStatement();
                areadb.execute(consulta);

                desconectar();
            }
        } catch (RuntimeException e) {
            throw e;
        }
    }

    @Override
    public SeguimientoAprendiz consultarPorAprendiz(Integer codigoSeguimiento, Long documentoAprendiz) throws Exception {    
        try {
            SeguimientoAprendiz seguimientoAprendiz = null;
            if (conectar()) {
                String consulta = "select * from seguimientoaprendiz where numeroseguimiento="+codigoSeguimiento+" and documentoaprendiz="+documentoAprendiz+";";
                areadb = con.createStatement();
                resSet = areadb.executeQuery(consulta);

                if (resSet.next()) {
                    seguimientoAprendiz = new SeguimientoAprendiz();
                    seguimientoAprendiz.setDocumentoaprendiz(aprendizDAO.consultarPorId(resSet.getLong("documentoaprendiz")));
                    seguimientoAprendiz.setNumeroseguimiento(seguimientoDAO.consultarPorNumero(resSet.getInt("numeroseguimiento")));
                    seguimientoAprendiz.setEstrategiaseguimiento(resSet.getString("estrategiaseguimiento"));
                    seguimientoAprendiz.setRendimientoseguimiento(resSet.getString("rendimientoseguimiento"));
                    seguimientoAprendiz.setNumeronovedad(novedadDAO.consultarPorNumero(resSet.getInt("numeronovedad")));
                }
                resSet.close();
                desconectar();
            }

            return seguimientoAprendiz;
        } catch (RuntimeException e) {
            throw e;
        }
    }
}
